<?php 	

class C48{
	public static function run(){
		// 1.设置常量
		self::setConst();
		// 2.创建文件夹
		self::createDir();
		// 3.载入必须文件
		self::loadCore();
		// 4.执行应用类
		App::run();
	}
	

// 载入必须文件
private static function loadCore(){
	$libArr=array(
		CORE_PATH.'/App.class.php',
		CORE_PATH.'./SmartyView.class.php',
		FUNCTION_PATH.'/functions.php',
		CORE_PATH.'/Controller.class.php'
	);
	foreach ($libArr as $v) {
		require_once($v);
	}
}
// 设置常量
private static function setConst(){
	$path=str_replace('\\', '/', __FILE__);
	// c48的路径
	define('C48_PATH', dirname($path));
	// data 目录
	define('DATA_PATH', C48_PATH.'/Data');
	// 方数据路的文件夹
	define('DAT_PATH',DATA_PATH.'/Data' );
	// Image 目录
	// define('IMAGE_PATH', DATA_PATH.'/Image');
	// font目录
	define('FONT_PATH', DATA_PATH.'/Font');
	// config 目录
	define('CONFIG_PATH',C48_PATH.'/Config' );
	// extend 目录
	define('EXTEND_PATH',C48_PATH.'/Extend' );
	// org目录
	define('ORG_PATH',EXTEND_PATH.'/Org' );
	// Tool目录
	define('TOOL_PATH',EXTEND_PATH.'/Tool' );
	// 载入文件所需目录
	// Lib目录
	define('LIB_PATH',C48_PATH.'/Lib');
	// Core目录
	define('CORE_PATH',LIB_PATH.'/Core');
	// function目录
	define('FUNCTION_PATH',LIB_PATH.'/Function' );
	// 根目录
	define('ROOT_PATH',dirname(C48_PATH));
	// 应用目录
	define('APP_PATH',ROOT_PATH.'/'.APP_NAME );
	// 控制器目录
	define('APP_CONTROLLER_PATH', APP_PATH.'/Controller');
	// 视图目录
	define('APP_VIEW_PATH',APP_PATH.'/View' );
	// 定义临时目录
	define('APP_TEMP_PATH', APP_PATH.'/Temp');
	// 定义缓存目录
	define('APP_CACHE_PATH', APP_TEMP_PATH.'/Cache');
	// 定义编译目录
	define('APP_COMPILE_PATH', APP_TEMP_PATH.'/Compile');
	// public目录
	define('APP_PUBLIC_PATH',APP_VIEW_PATH.'/Public');
	// image目录
	define('APP_IMAGE_PATH', APP_VIEW_PATH.'/Image');
	// 配置项目录
	define('APP_CONFIG_PATH', APP_PATH.'/Config');
	define('IS_POST', $_SERVER['REQUEST_METHOD']=='POST'?true:false);
}
// 创建文件夹
private static function createDir(){
	$dirArr=array(
		APP_CONTROLLER_PATH,
		APP_VIEW_PATH,
		APP_CONFIG_PATH,
		APP_PUBLIC_PATH,
		APP_CONFIG_PATH,
		APP_CACHE_PATH,
		APP_COMPILE_PATH
	);
	foreach ($dirArr as $v) {
		is_dir($v)||mkdir($v,0777,true);
	}

}

}
C48::run();
 ?>